<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>Systemizer</title>
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Systemizer";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../mmj/mmio/Statementizer.html" title="class in mmj.mmio"><span class="strong">Prev Class</span></a></li>
<li><a href="../../mmj/mmio/Tokenizer.html" title="class in mmj.mmio"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?mmj/mmio/Systemizer.html" target="_top">Frames</a></li>
<li><a href="Systemizer.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">mmj.mmio</div>
<h2 title="Class Systemizer" class="title">Class Systemizer</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>mmj.mmio.Systemizer</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">Systemizer</span>
extends java.lang.Object</pre>
<div class="block">Feed <code>SystemLoader</code> interface with <code>SrcStmt</code> objects from
 <code>Statementizer</code>.
 <p>
 Notes:
 <ul>
 <li>Intercepts include statements and converts them into <code>SrcStmt</code>
 objects -- transparently with respect to <code>SystemLoader</code>.
 <li>Keeps track of end of file and notifies <code>SystemLoader</code> of that
 condition.
 <li>Has no concept of comment statements that are embedded inside other
 statements -- if comments are ever to be used, this needs a redesign!
 </ul></div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../MetamathERNotes.html"> Nomenclature and
      Entity-Relationship Notes</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../mmj/mmio/Systemizer.html#Systemizer(mmj.lang.Messages, mmj.lang.SystemLoader)">Systemizer</a></strong>(<a href="../../mmj/lang/Messages.html" title="class in mmj.lang">Messages</a>&nbsp;messages,
          <a href="../../mmj/lang/SystemLoader.html" title="interface in mmj.lang">SystemLoader</a>&nbsp;systemLoader)</code>
<div class="block">Construct <code>Systemizer</code> from a <code>Messages</code> object and a
 <code>SystemLoader</code> object.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../mmj/lang/Messages.html" title="class in mmj.lang">Messages</a></code></td>
<td class="colLast"><code><strong><a href="../../mmj/mmio/Systemizer.html#getMessages()">getMessages</a></strong>()</code>
<div class="block">Get <code>Messages</code> object</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../mmj/lang/SystemLoader.html" title="interface in mmj.lang">SystemLoader</a></code></td>
<td class="colLast"><code><strong><a href="../../mmj/mmio/Systemizer.html#getSystemLoader()">getSystemLoader</a></strong>()</code>
<div class="block">Get SystemLoader, as-is.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../mmj/lang/Messages.html" title="class in mmj.lang">Messages</a></code></td>
<td class="colLast"><code><strong><a href="../../mmj/mmio/Systemizer.html#load(java.io.File, java.io.Reader, java.lang.String)">load</a></strong>(java.io.File&nbsp;filePath,
    java.io.Reader&nbsp;readerIn,
    java.lang.String&nbsp;sourceId)</code>
<div class="block">Loads MetaMath source file via <code>SystemLoader</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../mmj/lang/Messages.html" title="class in mmj.lang">Messages</a></code></td>
<td class="colLast"><code><strong><a href="../../mmj/mmio/Systemizer.html#load(java.io.File, java.lang.String)">load</a></strong>(java.io.File&nbsp;filePath,
    java.lang.String&nbsp;fileNameIn)</code>
<div class="block">Clone of Load function using fileNameIn instead of readerIn.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../mmj/lang/Messages.html" title="class in mmj.lang">Messages</a></code></td>
<td class="colLast"><code><strong><a href="../../mmj/mmio/Systemizer.html#load(java.io.File, java.lang.String, java.lang.String)">load</a></strong>(java.io.File&nbsp;filePath,
    java.lang.String&nbsp;fileNameIn,
    java.lang.String&nbsp;sourceId)</code>
<div class="block">Clone of Load function using fileNameIn instead of readerIn</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/mmio/Systemizer.html#setLimitLoadEndpointStmtLabel(java.lang.String)">setLimitLoadEndpointStmtLabel</a></strong>(java.lang.String&nbsp;stmtLabel)</code>
<div class="block">Set LoadLimit Stmt Label parm</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/mmio/Systemizer.html#setLimitLoadEndpointStmtNbr(int)">setLimitLoadEndpointStmtNbr</a></strong>(int&nbsp;stmtNbr)</code>
<div class="block">Set LoadLimit Stmt Nbr parm</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/mmio/Systemizer.html#setLoadComments(boolean)">setLoadComments</a></strong>(boolean&nbsp;loadComments)</code>
<div class="block">Set loadComments boolean parm.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/mmio/Systemizer.html#setLoadProofs(boolean)">setLoadProofs</a></strong>(boolean&nbsp;loadProofs)</code>
<div class="block">Set loadProofs boolean parm.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/mmio/Systemizer.html#setMessages(mmj.lang.Messages)">setMessages</a></strong>(<a href="../../mmj/lang/Messages.html" title="class in mmj.lang">Messages</a>&nbsp;messages)</code>
<div class="block">Set Messages object</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../mmj/mmio/Systemizer.html#setSystemLoader(mmj.lang.SystemLoader)">setSystemLoader</a></strong>(<a href="../../mmj/lang/SystemLoader.html" title="interface in mmj.lang">SystemLoader</a>&nbsp;systemLoader)</code>
<div class="block">Set SystemLoader</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="Systemizer(mmj.lang.Messages, mmj.lang.SystemLoader)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Systemizer</h4>
<pre>public&nbsp;Systemizer(<a href="../../mmj/lang/Messages.html" title="class in mmj.lang">Messages</a>&nbsp;messages,
          <a href="../../mmj/lang/SystemLoader.html" title="interface in mmj.lang">SystemLoader</a>&nbsp;systemLoader)</pre>
<div class="block">Construct <code>Systemizer</code> from a <code>Messages</code> object and a
 <code>SystemLoader</code> object.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>messages</code> - -- repository of error and info messages that provides a
            limit on the number of errors output before processing is
            halted.</dd><dd><code>systemLoader</code> - -- a SystemLoader initialized with any customizing
            parameters and ready to be loaded with data.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getSystemLoader()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSystemLoader</h4>
<pre>public&nbsp;<a href="../../mmj/lang/SystemLoader.html" title="interface in mmj.lang">SystemLoader</a>&nbsp;getSystemLoader()</pre>
<div class="block">Get SystemLoader, as-is.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>-- SystemLoader structure in use.</dd></dl>
</li>
</ul>
<a name="setSystemLoader(mmj.lang.SystemLoader)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSystemLoader</h4>
<pre>public&nbsp;void&nbsp;setSystemLoader(<a href="../../mmj/lang/SystemLoader.html" title="interface in mmj.lang">SystemLoader</a>&nbsp;systemLoader)</pre>
<div class="block">Set SystemLoader</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>systemLoader</code> - <code>SystemLoader</code> can be input or changed after
            construction.</dd></dl>
</li>
</ul>
<a name="getMessages()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMessages</h4>
<pre>public&nbsp;<a href="../../mmj/lang/Messages.html" title="class in mmj.lang">Messages</a>&nbsp;getMessages()</pre>
<div class="block">Get <code>Messages</code> object</div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>Messages</code> object</dd></dl>
</li>
</ul>
<a name="setMessages(mmj.lang.Messages)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMessages</h4>
<pre>public&nbsp;void&nbsp;setMessages(<a href="../../mmj/lang/Messages.html" title="class in mmj.lang">Messages</a>&nbsp;messages)</pre>
<div class="block">Set Messages object</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>messages</code> - <code>Messages</code> object can be set or changed after
            construction.</dd></dl>
</li>
</ul>
<a name="setLimitLoadEndpointStmtNbr(int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLimitLoadEndpointStmtNbr</h4>
<pre>public&nbsp;void&nbsp;setLimitLoadEndpointStmtNbr(int&nbsp;stmtNbr)</pre>
<div class="block">Set LoadLimit Stmt Nbr parm</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>stmtNbr</code> - maximum number of Metamath statements to be loaded.</dd></dl>
</li>
</ul>
<a name="setLimitLoadEndpointStmtLabel(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLimitLoadEndpointStmtLabel</h4>
<pre>public&nbsp;void&nbsp;setLimitLoadEndpointStmtLabel(java.lang.String&nbsp;stmtLabel)</pre>
<div class="block">Set LoadLimit Stmt Label parm</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>stmtLabel</code> - last Metamath statement label to load.</dd></dl>
</li>
</ul>
<a name="setLoadComments(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLoadComments</h4>
<pre>public&nbsp;void&nbsp;setLoadComments(boolean&nbsp;loadComments)</pre>
<div class="block">Set loadComments boolean parm.
 <p>
 If loadComments is true then Metamath comments (at least, for Theorems)
 will be loaded.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>loadComments</code> - true/false load Metamath Comments.</dd></dl>
</li>
</ul>
<a name="setLoadProofs(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLoadProofs</h4>
<pre>public&nbsp;void&nbsp;setLoadProofs(boolean&nbsp;loadProofs)</pre>
<div class="block">Set loadProofs boolean parm.
 <p>
 If loadProofs is true then Metamath proofs are loaded into LogicalSystem,
 otherwise just a "?" proof is stored with each Theorem.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>loadProofs</code> - true/false load Metamath Proofs in Theorem objects.</dd></dl>
</li>
</ul>
<a name="load(java.io.File, java.io.Reader, java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>load</h4>
<pre>public&nbsp;<a href="../../mmj/lang/Messages.html" title="class in mmj.lang">Messages</a>&nbsp;load(java.io.File&nbsp;filePath,
            java.io.Reader&nbsp;readerIn,
            java.lang.String&nbsp;sourceId)
              throws java.io.IOException</pre>
<div class="block">Loads MetaMath source file via <code>SystemLoader</code>.
 <p>
 Note: multiple files can be loaded in serial fashion.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>filePath</code> - -- File object holding directory path for readerIn. Used
            to look up Metamath include files. May be null, or absolute
            path, or relative.</dd><dd><code>readerIn</code> - -- may be StringReader or BufferedReader but
            PushbackReader and LineNumberReader are not helpful choices.)
            Will be closed at EOF.</dd><dd><code>sourceId</code> - -- caption such as filename or test ID. May be empty
            string if N/A. Used solely for diagnostic/testing messages.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>Messages</code> object, which can be tested to see if any error
         messages were generated</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if I/O error</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../mmj/lang/Messages.html#getErrorMessageCnt()"><code>Messages.getErrorMessageCnt()</code></a></dd></dl>
</li>
</ul>
<a name="load(java.io.File, java.lang.String, java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>load</h4>
<pre>public&nbsp;<a href="../../mmj/lang/Messages.html" title="class in mmj.lang">Messages</a>&nbsp;load(java.io.File&nbsp;filePath,
            java.lang.String&nbsp;fileNameIn,
            java.lang.String&nbsp;sourceId)
              throws <a href="../../mmj/mmio/MMIOException.html" title="class in mmj.mmio">MMIOException</a>,
                     java.io.IOException</pre>
<div class="block">Clone of Load function using fileNameIn instead of readerIn</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>filePath</code> - -- File object holding directory path for fileNameIn --
            and used to look up Metamath include files. May be null, or
            absolute path, or relative.</dd><dd><code>fileNameIn</code> - -- input .mm file name String.</dd><dd><code>sourceId</code> - -- test such as filename or test ID. May be empty string
            if N/A. Used solely for diagnostic/testing messages.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>Messages</code> object, which can be tested to see if any error
         messages were generated</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if I/O error</dd>
<dd><code><a href="../../mmj/mmio/MMIOException.html" title="class in mmj.mmio">MMIOException</a></code> - if file requested has already been loaded.</dd>
<dd><code><a href="../../mmj/mmio/MMIOError.html" title="class in mmj.mmio">MMIOError</a></code> - if file requested does not exist.</dd></dl>
</li>
</ul>
<a name="load(java.io.File, java.lang.String)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>load</h4>
<pre>public&nbsp;<a href="../../mmj/lang/Messages.html" title="class in mmj.lang">Messages</a>&nbsp;load(java.io.File&nbsp;filePath,
            java.lang.String&nbsp;fileNameIn)
              throws <a href="../../mmj/mmio/MMIOException.html" title="class in mmj.mmio">MMIOException</a>,
                     java.io.IOException</pre>
<div class="block">Clone of Load function using fileNameIn instead of readerIn.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>filePath</code> - -- File object holding directory path for fileNameIn --
            and used to look up Metamath include files. May be null, or
            absolute path, or relative.</dd><dd><code>fileNameIn</code> - -- input .mm file name String.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>Messages</code> object, which can be tested to see if any error
         messages were generated</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if I/O error</dd>
<dd><code><a href="../../mmj/mmio/MMIOException.html" title="class in mmj.mmio">MMIOException</a></code> - if file requested has already been loaded.</dd>
<dd><code><a href="../../mmj/mmio/MMIOError.html" title="class in mmj.mmio">MMIOError</a></code> - if file requested does not exist.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../mmj/mmio/Statementizer.html" title="class in mmj.mmio"><span class="strong">Prev Class</span></a></li>
<li><a href="../../mmj/mmio/Tokenizer.html" title="class in mmj.mmio"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?mmj/mmio/Systemizer.html" target="_top">Frames</a></li>
<li><a href="Systemizer.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
